package com.tienon.message.util;

/**
 * Exception的处理工具类，有Exception的实例对象
 * 来获取异常的信息
 * @author xiuye
 *
 */
public class ErrorMsg {

	private static String ERRORMSG; 
	/**
	 * 出入出错的异常，然后得到处理后错误的信息
	 * 
	 * @param e
	 * @return
	 */
	public static String getErrorMsg(Exception e){
		ERRORMSG = e.getMessage();
		if(ERRORMSG.contains("ORA-00001")){
			ERRORMSG = "插入数据重复:" + ERRORMSG;
		}
		else if(ERRORMSG.contains("ORA-01400")){
			ERRORMSG = "插入字段值为空:" + ERRORMSG;
		}
		else if(ERRORMSG.contains("ORA-00913")||ERRORMSG.contains("ORA-00947")||ERRORMSG.contains("出现不支持的 SQL92 标记")){
			ERRORMSG = "1.mybatis配置mappper文件错误,或许需要将test='字段 != null'表达式的值设置为test='true';"+"2.mybatis配置mappper文件错误,删除了mybatis<trim>标签中的<if>标签;"+"3.mybatis配置mappper文件错误,sql语句中缺少字段或字段值;"+"4.mybatis配置mappper文件错误,sql语句中多增加了字段或字段值:" + ERRORMSG;
		}		
		else{
			ERRORMSG = "未能处理的异常：" + e.getMessage();
		}
		return ERRORMSG;
		
	}
	/**
	 * 
	 * 检验是否有重复插入的异常
	 * 
	 * @param e
	 * @return
	 */
	public static boolean isRepeatInsert(Exception e){
		ERRORMSG = e.getMessage();
		
		if(ERRORMSG.contains("ORA-00001")){
			return true;
		}
		
		return false;
		
	}
	
	
}
